namespace KeyStone.EventHub
{
   /// <summary>
   /// Class PublishedData.
   /// </summary>
   internal class PublishedData
   {
      /// <summary>
      /// Gets or sets the data.
      /// </summary>
      /// <value>The data.</value>
      public object Data { get; set; }

      /// <summary>
      /// Gets or sets a value indicating whether the subscriber has been called with the data.
      /// </summary>
      /// <value><c>true</c> if fulfilled; otherwise, <c>false</c>.</value>
      public bool Fulfilled { get; set; }

      /// <summary>
      /// Gets or sets a value indicating whether the data can be cleared once all subscribers have been called
      /// </summary>
      /// <value><c>true</c> if disposable; otherwise, <c>false</c>.</value>
      public bool Disposable { get; set; }

      /// <summary>
      /// Initializes a new instance of the <see cref="PublishedData"/> class.
      /// </summary>
      public PublishedData()
      {
         Disposable = true;
      }
   }
}